在Material Design中提供不同樣式的Button,官方同時說明使用Button需根據操作的重要性選擇類型,當操作越重要時Button應該越具有強調性,因為Button可以傳達訊息,也影響著使用者採取的操作。通常Button放置整個APP的使用者介面中,例如:Dialogs、Cards、Toolbars等等。

M2:預設四個角半徑略圓,按鈕文字使用全大寫,主要是這三種Button做變化
M3:預設是完全圓角,按鈕文字使用大小寫,新增下方三種Button
後續主要介紹Material Deaign 3
剛剛前面說到按鈕操作重要性,所以這邊會特別標記說明,通常Button沒有指定style時,預設會是Filled button。
Medium emphasis:基本是有陰影的輪廓按鈕,當需要按鈕與圖案背景進行視覺分離時使用,常用於不分散畫面其他元件注意力的重要操作
style分有無icon兩種使用方式
<Button
style="@style/Widget.Material3.Button.ElevatedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Elevated button" />
<Button
style="@style/Widget.Material3.Button.ElevatedButton.Icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Elevated button"
app:icon="@drawable/ic_add_24"/>
High emphasis:顏色突出的凸顯按鈕,常用於流程中的最終重要「取消」或「確定」操作較為常見操作
style分有無icon兩種使用方式
<Button
style="@style/Widget.Material3.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filled button" />
<Button
style="@style/Widget.Material3.Button.Icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filled button"
app:icon="@drawable/ic_add_24" />
Medium emphasis:具有較淺的背景顏色和較深的文字顏色,視覺上不像Filled button按鈕突出,在filled 、 outlined buttons 兩者之間,常用於「下一步」流程上,或是畫面比重不高訊息,不太強調的操作
style分有無icon兩種使用方式
<Button
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filled tonal button" />
<Button
style="@style/Widget.Material3.Button.TonalButton.Icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filled tonal button"
app:icon="@drawable/ic_add_24"/>
Medium emphasis:包含重要訊息需要注意,但不是主要的操作,例如檢視全部或新增到購物車,這也是給某人改變主意或逃避流程的機會的按鈕。
style分有無icon兩種使用方式
<Button
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Outlined button" />
<Button
style="@style/Widget.Material3.Button.OutlinedButton.Icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Outlined button"
app:icon="@drawable/ic_add_24"/>
Low emphasis:文字按鈕的視覺突出度較低,因此應用於低強調的操作,特別是在顯示多個選項時,還可以放置在各種背景上。例如替代選項。
style分有無icon兩種使用方式
<Button
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text button" />
<Button
style="@style/Widget.Material3.Button.TextButton.Icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text button"
app:icon="@drawable/ic_add_24"/>
當你把箭頭放在文字上後,會出現灰色視窗,出現 style parent Widget.Material.Button,已經有設定好的固定高度、左右內距、當有icon時的內距、icon size,你也可再根據不同呈現方式做設定調整。
前四種一樣
Elevated button
Filled button
Filled tonal button
Outlined button
TextButton
style 預設底色是透明色
Enabled 啟用、Disabled 禁用、Hovered 懸停、 Focused 聚焦、 Pressed 按下
感謝您耐心看到這邊,這篇重點說明Button使用選擇。
明天會介紹 Text Fields,後天就將使用所學到Button、Text Fields實作一個小專案。![]()
參考資料
Material Design 3 Common Buttons